// 指定包名，管理配置属性类的归属
package com.example.ossmultipart.config; // OSS 配置属性类所在包

// 导入 Lombok 的注解，用于自动生成 getter/setter/toString 等方法
import lombok.Data; // Lombok 注解：@Data 生成常用方法
// 导入 Spring 的注解，用于将配置属性绑定到类字段
import org.springframework.boot.context.properties.ConfigurationProperties; // 配置属性绑定注解
// 导入 Spring 的注解，用于将该类注册为组件，便于注入
import org.springframework.stereotype.Component; // 组件注解

// 使用 @Data 自动生成 getter/setter 等，减少样板代码
@Data // 自动生成访问器与常用方法
// 使用 @Component 将该属性类注册为 Spring Bean
@Component // 注册为 Spring 管理的组件
// 使用 @ConfigurationProperties 指定配置前缀，将 application.yml 中 aliyun.oss.* 绑定到该类
@ConfigurationProperties(prefix = "aliyun.oss") // 配置属性前缀绑定
public class AliYunOssProperties { // 定义 OSS 配置属性类

    // OSS 的服务访问域名（Endpoint），例如：oss-cn-beijing.aliyuncs.com
    private String endpoint; // OSS Endpoint 外网域名

    // 访问密钥 ID，对应阿里云账户的 AccessKeyId
    private String accessKeyId; // 阿里云 AccessKeyId

    // 访问密钥 Secret，对应阿里云账户的 AccessKeySecret
    private String accessKeySecret; // 阿里云 AccessKeySecret

    // 目标存储桶名称（Bucket Name），用于存放对象（文件）
    private String bucketName; // OSS 存储桶名称

    // 在桶中存储的基础目录前缀，用于区分不同业务文件
    private String baseFolder; // 存储基础目录前缀
} // 配置属性类结束